🔥 เพื่อน ๆ รู้กันไหมว่า เจ้าตัว Function ของ Python นั้น สามารถ Return ค่าได้มากกว่า 1 ค่า !!
.
👉 ซึ่งจากปกติแล้วการ Return ค่าของ Function (Java เรียกว่า Method) ในภาษา C, C++ หรือ Java จะสามารถส่งค่ากลับได้แค่ค่าเดียวเท่านั้น ถ้าเราต้องการที่จะส่งกลับค่าออกมาจาก Function ที่มากกว่าหนึ่งตัว เราจะใช้หลักการ Return ค่ากลับออกมาเป็น Array, List หรือ Class ของ Java (หรืออื่น ๆ ที่สามารถรวมข้อมูลหลาย ๆ ตัวเป็นก้อนเดียวได้)
.
✨ แต่เจ้าตัว Python นั้นสามารถ Return ตัวแปรหลาย ๆ ตัวออกมาได้ทันที โดยที่เราไม่จำเป็นต้องอัดข้อมูลให้เป็นก้อนเดียวก่อนส่งออก เพราะเจ้าตัว Function จะทำการ Pack ข้อมูลเป็น Tuple ให้เองเลยโดยอัตโนมัติ (Tuple คือกลุ่มข้อมูลที่มีรูปแบบคล้าย List แต่ไม่สามารถแก้ไขข้อมูลในนั้นได้)
.
📑 ตัวอย่างเช่น เราต้องการที่จะส่งค่าตัวแปรกลับ 3 ตัว เราก็สามารถใช้ตัวแปร 3 ตัวในการรอเก็บค่าที่ส่งออกจาก Function ได้ทันทีเลย แบบดังรูป (สุดท้ายเจ้า Function ของ Python ก็ return ออกมาแค่ค่าเดียวนั่นแหละ นั่นก็คือ Tuple นั่นเอง)
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有36部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,ดาวน์โหลด Jupyter Notebook ที่ใช้ในคลิปได้ที่: https://github.com/prasertcbs/pandas/blob/main/pandas_clean_multilevel_table.ipynb เชิญสมัครเป็นสมาชิกข...
「python array list」的推薦目錄:
- 關於python array list 在 BorntoDev Facebook 的最佳貼文
- 關於python array list 在 北歐心科學 NordicHearts Facebook 的最佳解答
- 關於python array list 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
- 關於python array list 在 prasertcbs Youtube 的最讚貼文
- 關於python array list 在 prasertcbs Youtube 的最佳貼文
- 關於python array list 在 prasertcbs Youtube 的精選貼文
- 關於python array list 在 Array ArrayList python equivalent - Stack Overflow 的評價
- 關於python array list 在 Python: Arrays, Lists, and List Builder - YouTube 的評價
- 關於python array list 在 [Python] 學習使用串列(List) - 通訊雜記 的評價
- 關於python array list 在 Concatenate elements within an array / list - gist GitHub 的評價
- 關於python array list 在 How to create an array from the list of arrays in python - Data ... 的評價
python array list 在 北歐心科學 NordicHearts Facebook 的最佳解答
#生物學的日常
終於可以D7 R這奇怪的語言,這樣的論文才有答辯的味道,不服來辯!夠薑隻揪!我有講錯咩?(希望評核委員沒有R粉)
雖然我95%的生物資訊研究都是用R做的,但也要抱怨一下。
(當中大概有90%時間是困在理解R的奇怪語法和捉蟲中)
為何是從1開始而不是從0開始?
為何叫character而不是叫string、叫vector而不是叫array
為何你他媽的是讀variable名,而不是讀variable的value?
為何有各種亂亂的vector list object存取方法
為何語法不能他媽的一致點(亂用簡稱,亂用大小寫,亂用句點)
😭
利申:我寫遊戲用C#,其餘時間用Python。
#見到我的怨念嗎 #怨念 #R苦主召集
#召喚完Twoset粉召喚Python粉
(Typo: Its syntax)
python array list 在 โปรแกรมเมอร์ไทย Thai programmer Facebook 的精選貼文
Functional programming ชื่อไทยคือ “การโปรแกรมเชิงฟังก์ชั่น” ชื่อย่อ FP เป็นแนวคิดหนึ่งของการเขียนโปรแกรม (programming paradigm) ชื่อขึ้นต้นด้วย functional แต่ไม่ได้มีดีแค่ประกาศ function ปุ๊บเสร็จ แล้วเรียกใช้ มันมีเบื้องลึกมากกว่านั้นแน่ๆ
🤔 มันจะต่างจากการเขียนโปรแกรมทีละสเตป ตามลำดับก่อนหลัง มีการวนลูป ที่เน้นแก้ state ของโปรแกรมเป็นหลัก
แต่แนวทาง functional programming จะไม่แก้ state ของโปรแกรมเลย ไม่มีการวนลูบ (ใช้ recursion แทน)
ซึ่งแนวคิดก็ต้องเน้นสร้างฟังก์ชั่นนั่นแหละ แต่หลักสำคัญต้องออกแบบให้หลีกเลี่ยง side-effect (ผลข้างเคียง) ที่จะเกิดต่อ function ตัวเอง และตัวอื่น โดยมีหลักยึด 2 อย่างใหญ่คือ
👉 1) function ที่สร้างขึ้นมา เมื่อมีอินพุตค่าเดิมส่งไปหา (เป็นค่าอากิวเมนต์) ไม่ว่าจะกี่ครั้งก็ตาม function จะรีเทิร์นค่าออกมาเหมือนเดิมทุกครั้ง ...(ไอเดียมาจากฟังก์ชั่นในทางคณิตศาสตร์เลยครับ)
เช่น
func(1); // เรียกครั้งที่ 1 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30
func(1); // เรียกครั้งที่ 2 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
func(1); // เรียกครั้งที่ 3 ก็จะได้ค่ารีเทิร์นออกมาเป็น 30 เหมือนเดิม
👉 2) function ต้องไม่ไปเปลี่ยนแปลงค่าของตัวแปรจำพวก global variable หรือ static variable หรือตัวแปรที่อยู่ข้างนอก function ...เพื่อไม่ให้ function อื่นได้รับผลกระทบ
ถ้า function ที่เราประกาศไว้ มีคุณสมบัติ 2 อย่างที่ว่านี้ ก็จะเรียกว่า pure function (ฟังก์ชั่นบริสุทธ์แท้ๆ) 👌
สำหรับอีกคุณลักษณะหนึ่งที่จะไม่กล่าวถึงไม่ได้เลยก็คือ
👉 3) First-class function และ Higher-order function
คำว่า first-class function มาจาก "first class citizen" ที่หมายถึง "พลเมืองชั้นหนึ่ง" ดังนั้น first-class function จะหมายถึง ฟังก์ชั่นเป็นพลเมืองชั้นหนึ่งจริงๆ เลยนะ
คุณสมบัตินี้ function จะถูกมองเป็นข้อมูลประเภทหนึ่ง ไม่ต่างจากข้อมูลตัวเลข สตริง บูลีน ด้วยเหตุนี้จึงสามารถนำ function ไปกำหนดค่าให้กับตัวแปรยังได้เลย เช่น
x = function(){ .....}
ส่วนคุณสมบัติ Higher-order function:
คุณสมบัตินี้หมายถึง เราสามารถใช้ function ส่งไปเป็นค่าอากิวเมนต์แก่ function ตัวอื่น หรือ function จะรีเทิร์นออกมาจาก function ตัวอื่นออกมาก็ได้ด้วย เช่น
- ส่ง function_A เป็นค่าอากิวเมนต์ไปให้ function_X(function_A);
- จากนั้น function_X() ก็จะสร้าง function_Y แล้วรีเทิร์นมันออกมาได้
😜 ===ประโยชน์ functional programming===
🔥 เอาไปเขียนโปรแกรมโดยไม่มีการวนลูป เช่น ไม่ต้องมานั่งเขียน for … หรือ while… วนลูป เพื่อเข้าถึงข้อมูลโครงสร้างพวก array , list ฯลฯ เป็นต้น
🔥 การทำ currying หมายถึงทำให้ฟังก์ชั่น จากเดิมที่มี parameter หลายตัวให้เหลือแค่ตัวเดียว ด้วยการส่งผลลัพธ์เป็น function ที่รับ Parameter ที่เหลือ ...ใช้เทคนิค closure
🔥 หรือจะทำ function Composition (เอาฟังก์ชั่นมาประกอบกัน)
🔥 หรือจะเอาไปใช้เขียนโปรแกรมแบบ parallel computing (โปรแกรมคู่ขนาน)
🔥 หรือจะเขียนโปรแกรมแบบ asynchronous โดยที่โค้ดหลักไม่ต้องรอการประมวลผลฝั่ง I/O ให้แล้วเสร็จ โค้ดหลักสามารถข้ามไปยังบรรทัดถัดไปก่อนได้เลย
🔥 Testability — ผลพลอยได้ก็คือ เอาแนวคิดนี้ไปใช้ทำ test function ได้ง่าย โดยแต่ละการ test จะเป็นอิสระต่อกัน เมื่อใช้วิธีการเดิมในการทดสอบ 10 ครั้ง ก็ควรได้ผลเหมือนเดิม 10 ครั้ง เป็นต้น
++++ 🤔 ++++++
เมื่อเปรียบเทียบกับแนวคิด OOP (โปรแกรมเชิงวัตถุ object-oriented programming)
ถ้าโจทย์ปัญหาเป็น parallel computing หรือ asynchronous การใช้แนวคิด functional programming ดูแล้วคล่องแคล่วปราดเปรียวไม่ยุ่งยาก
เนื่องจากแนวคิด functional programming ไม่มีอะไรซับซ้อนมากนัก เขียนโปรแกรมก็จะกระชับ ง่าย...ง๊าย เมื่อเทียบกับ OOP ที่โค้ดจะเยอะกว่า เพราะมี class มากมาย ยิ่งถ้า inheritance โดยให้มีการสืบทอดสมาชิกหลายชั้น ก็จะสับสนตาลาย มึนงงได้ คงต้องพึ่ง IDE ให้เป็นพี่เลี้ยงช่วยแนะนำว่ามีสมาชิกอะไรที่สืบทอดมา
แต่จุดเด่นเรื่อง OOP จะมีความเป็น Modularity ที่สูง โค้ดที่เขียนเป็นอ็อบเจ็กต์แต่ละตัวจะเป็นอิสระต่อกัน เนื่องจากข้อมูลหรือ state ซึ่งอยู่ภายในตัวอ็อบเจ็กต์เอง จะมีเป็นของใครของมัน ขณะเดียวกันแต่ละอ็อบเจ็กต์จะปฏิสัมพันธ์กันได้ สามารถเอาอ็อบเจ็กต์ที่มีอยู่แล้วมา reuse ใช้ได้ง่าย รวมทั้งถอดเข้าถอดออกขณะโปรแกรม run time
แล้วแต่สถานการณ์ว่าจะใช้แนวทางเขียนโปรแกรมแบบไหน
แต่ก็ยอมรับว่าบางทีเขียนแบบ functional programming ก็ยากต่อการทำความเข้าใจ เพราะโค้ดมันสั้นกระชับเกิ๊น
ยิ่งหลายภาษาโปรแกรมมิ่งสมัยใหม่ในปัจจุบันนี้ มีการแทรกแนวคิด functional programming เข้ามา นอกเหนือจากแนวคิด OOP เช่น JavaScript, Python, Java, C#, Swift, Kotlin แต่ก็อาจประยุกต์แนวคิดนี้ได้ไม่ 100% มากนัก
จะไม่เหมือนบ้างภาษาเช่น Haskell ที่มาพร้อมกับ immutable data structure หมายถึงข้อมูลที่ไม่สามารถแก้ไขค่าได้เลย จึงทำให้ function กลายเป็น functional programming แท้ๆ (pure function)
✍ สรุป แนวคิดนี้ไม่ได้เรื่องใหม่มีมานานก่อนบางคน ...อุ้แว ...อุ้แวเกิดเสียอีก แต่ตอนโน่นแนวคิดนี้ยังไม่ดังเปรี้ยงเหมือน OOP คนที่เขียนภาษา JavaScript รวมไปถึง Node.js ย่อมใช้หลักการนี้อย่างไม่รู้ตัว ยิ่งภาษาสมัยใหม่หลายตัวก็ยอมรับแนวคิด functional programming เข้ามาในภาษาเรียบร้อยแล้ว ไม่มีนี้ถือว่าแปลกมาก
--------
เขียนโดย โปรแกรมเมอร์ไทย thai programmer
python array list 在 prasertcbs Youtube 的最讚貼文
ดาวน์โหลด Jupyter Notebook ที่ใช้ในคลิปได้ที่: https://github.com/prasertcbs/pandas/blob/main/pandas_clean_multilevel_table.ipynb
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน Jupyter Notebook ► https://www.youtube.com/playlist?list=PLoTScYm9O0GErrygsfQtDtBT4CloRkiDx
playlist สอน Python สำหรับ data science ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFVfRk_MmZt0vQXNIi36LUz
playlist สอน seaborn ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGC9QvLlrQGvMYatTjnOUwR
playlist สอน matplotlib ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGRvUsTmO8MQUkIuM1thTCf
playlist สอนภาษาไพธอน Python เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนการใช้งานโปรแกรม R: https://www.youtube.com/playlist?list=PLoTScYm9O0GGSiUGzdWbjxIkZqEO-O6qZ
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVIC
#prasertcbs #pandas #googlesheets
python array list 在 prasertcbs Youtube 的最佳貼文
เทคนิคการใช้ Python อ่านรายชื่อ อีเมล์ และเบอร์โทรศัพท์จาก Excel มาสร้างเป็นสไลด์ป้ายชื่อตั้งโต๊ะพร้อม MECARD QR Code บน PowerPoint
ดาวน์โหลดโค้ดที่ใช้ในคลิปได้ที่ ► https://github.com/prasertcbs/automate_pptx_nameplate
? เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอนภาษาไพธอน Python เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
#prasertcbs_python #prasertcbs
python array list 在 prasertcbs Youtube 的精選貼文
ดาวน์โหลดโค้ดที่ใช้ในคลิป ► https://github.com/prasertcbs/python_doctest
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
สอนการใช้งาน Visual Studio Code เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEo8pnhJb-m-MGVGDvGb4bB
สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
#prasertcbs #prasertcbs_visual_studio_code
python array list 在 [Python] 學習使用串列(List) - 通訊雜記 的推薦與評價
串列(List) 是一個儲存資料的容器, 如果你有學過C/C++ Java 等其它語言的話, 你會發現他跟陣列(array) 很類似, 只不過Python 串列的功能更為強大, ... ... <看更多>
python array list 在 Array ArrayList python equivalent - Stack Overflow 的推薦與評價
... <看更多>
相關內容